package com.tiancheng.onecode.model.response.admin;

import com.tiancheng.onecode.model.dto.PlatformMerchantUserDetailDTO;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * @Author: kellen
 * @Description: 商户添加第一步响应
 * @Date: create in 2024/12/12 16:03
 */
@Data
public class MerchantAddStepOneNewRes implements Serializable {
    /**
     * 平台关联商户 id
     */
    private Long platformMerchantId;
    /**
     * 平台编码
     */
    private String platformCode;
    /**
     * 商户类型：1-企业商户、2-个体商户、3-小微商户
     */
    private Integer merchantType;
    /**
     * 商户编码
     */
    private String merchantCode;
    /**
     * 商户名称
     */
    private String merchantName;
    /**
     * 社会信用统一代码:小微商户传法人身份证号
     */
    private String shopLic;

    /**
     * 营业省份id
     */
    private String shopProvinceId;
    /**
     * 营业市id
     */
    private String shopCityId;
    /**
     * 营业区id
     */
    private String shopCountryId;
    /**
     * 营业省份-名称
     */
    private String shopProvinceName;
    /**
     * 营业市-名称
     */
    private String shopCityName;
    /**
     * 营业区-名称
     */
    private String shopCountryName;
    /**
     * 营业地址
     */
    private String shopAddress;
    /**
     * 营业执照有效期-开始
     */
    private String shopLicenseBeginDate;
    /**
     * 营业执照有效期-结束
     */
    private String shopLicenseEndDate;
    /**
     * 经营项目简述（营业类目描述）
     */
    private String shopBusiness;
    /**
     * 法人身份证姓名
     */
    private String legalName;
    /**
     * 法人身份证号
     */
    private String legalIdcardNo;
    /**
     * 法人性别
     * 1-男性
     * 2-女性
     */
    private Integer legalSex;
    /**
     * 法人手机号
     */
    private String legalMobile;
    /**
     * 法人证件开始日期:yyyy-MM-dd
     */
    private String legalCardBeginDate;
    /**
     * 法人证件截止日期:yyyy-MM-dd
     */
    private String legalCardDeadline;
    /**
     * 法人住址
     */
    private String legalAddress;
    /**
     * 法人职业
     * 0-各类专业、技术人员
     * 1-国家机关、党群组织、企事业单位的负责人
     * 2-办事人员和有关人员
     * 3-商业工作人员
     * 4-服务性工作人员
     * 5-农林牧渔劳动者
     * 6-生产工作、运输工作和部分体力劳动者
     * 7-不便分类的其他劳动者
     */
    private Integer legalOccupation;
    /**
     * 交易商户编码，下单时用
     */
    private String tradeMerchantCode;
    /**
     * 交易支付通道编码
     */
    private String tradeChannelCode;
    /**
     * 支付渠道名称
     */
    private String tradeChannelName;
    /**
     * 营业执照
     */
    private String businessLicense;

    /**
     * 商户状态
     *
     * @see com.tiancheng.onecode.enums.MerchantStatusEnums
     */
    private Integer merchantStatus;
    /**
     * 商户状态描述
     */
    private String merchantStatusDescribe;


    // ------------------------------------------------ 第三步 添加结算信息
    /**
     * 开户行行号
     */
    @NotBlank(message = "开户行行号不能为空")
    private String bankNo;
    /**
     * 开户行帐号
     */
    @NotBlank(message = "开户行帐号不能为空")
    private String bankAcctNo;
    /**
     * 开户行名称
     */
    @NotBlank(message = "开户行名称不能为空")
    private String bankAcctName;
    /**
     * 银行预留手机号
     */
    @NotBlank(message = "银行预留手机号不能为空")
    private String bankAcctPhone;
    /**
     * 证件信息
     */
    private List<MerchantAddFileRes> fileList;
    // ------------------------------------------------ 第二步 添加管理员信息
    /**
     * 商户超级管理员
     */
    private PlatformMerchantUserDetailDTO merchantSuperAdmin;

    // ------------------------------------------结算信息------------------------------------------
    /**
     * 平台分佣百分比值
     */
    @NotNull(message = "抽佣金额不能为空")
    private BigDecimal platformPercent;

}
